/*
 * Copyright (c) 2022-2023, ZX Technology Co., Ltd
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 */

#ifndef LV_CONF_H
#define LV_CONF_H
// 字体库的支持
#define LV_USE_FREETYPE 0
// 音乐演示示例
#define LV_USE_DEMO_MUSIC 0
// 基准测试演示示例
#define LV_USE_DEMO_BENCHMARK 1
// 小部件演示
#define LV_USE_DEMO_WIDGETS 1
// 示例代码的构建
#define LV_BUILD_EXAMPLES 1

#define LV_FONT_MONTSERRAT_48 1
#define LV_FONT_MONTSERRAT_24 1
#define LV_FONT_MONTSERRAT_16 1
#define LV_FONT_MONTSERRAT_12 1
#define LV_FONT_MONTSERRAT_18 1

#define LV_IMG_CACHE_DEF_SIZE 0
#define LV_USE_PNG 1
#define LV_USE_QRCODE 1
// 打印开关
#define LV_USE_LOG 1
#if LV_USE_LOG
/*How important log should be added:
 *LV_LOG_LEVEL_TRACE       A lot of logs to give detailed information
 *LV_LOG_LEVEL_INFO        Log important events
 *LV_LOG_LEVEL_WARN        Log if something unwanted happened but didn't cause a problem
 *LV_LOG_LEVEL_ERROR       Only critical issue, when the system may fail
 *LV_LOG_LEVEL_USER        Only logs added by the user
 *LV_LOG_LEVEL_NONE        Do not log anything*/
// 默认打印级别设置
#define LV_LOG_LEVEL LV_LOG_LEVEL_WARN

/*1: Print the log with 'printf';
 *0: User need to register a callback with `lv_log_register_print_cb()`*/
#define LV_LOG_PRINTF 0

/*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/
#define LV_LOG_TRACE_MEM 1
#define LV_LOG_TRACE_TIMER 1
#define LV_LOG_TRACE_INDEV 1
#define LV_LOG_TRACE_DISP_REFR 1
#define LV_LOG_TRACE_EVENT 1
#define LV_LOG_TRACE_OBJ_CREATE 1
#define LV_LOG_TRACE_LAYOUT 1
#define LV_LOG_TRACE_ANIM 1
#endif /*LV_USE_LOG*/

#define LV_USE_PERF_MONITOR 0
// 设置需要和dts中framebuffer的格式设置保持一致
#define LV_COLOR_DEPTH 32
#define LV_USE_MEM_MONITOR 0
#define LV_INDEV_DEF_READ_PERIOD 10
#define LV_DISP_DEF_REFR_PERIOD 10

#define LV_TICK_CUSTOM 1
#if LV_TICK_CUSTOM
#define LV_TICK_CUSTOM_INCLUDE <aic_ui.h>
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (custom_tick_get()) /*system time in ms*/
#endif                                                   /*LV_TICK_CUSTOM*/

#define LV_USE_FS_POSIX 1
#if LV_USE_FS_POSIX
#define LV_FS_POSIX_LETTER 'L'
#define LV_FS_POSIX_PATH ""
#define LV_FS_POSIX_CACHE_SIZE 0
#endif

#define LV_MEM_CUSTOM 1
#if LV_MEM_CUSTOM == 1
#define LV_MEM_CUSTOM_INCLUDE <stdlib.h> /*Header for the dynamic memory function*/
#define LV_MEM_CUSTOM_ALLOC malloc
#define LV_MEM_CUSTOM_FREE free
#define LV_MEM_CUSTOM_REALLOC realloc
#endif /*LV_MEM_CUSTOM*/

#define LV_SPRINTF_CUSTOM 1
#if LV_SPRINTF_CUSTOM
#define LV_SPRINTF_INCLUDE <stdio.h>
#define lv_snprintf snprintf
#define lv_vsnprintf vsnprintf
#define LV_SPRINTF_USE_FLOAT 0
#endif /*LV_SPRINTF_CUSTOM*/

#endif // LV_CONF_H
